package com.system.boot.rbac.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.system.api.rbac.entity.po.SysPermission;
import com.system.api.rbac.entity.po.SysRolePermissionRelation;
import org.yang.common.core.exception.BaseException;

import java.util.List;

/**
 *  
 * @author: lslands
 * @description:   
 * @version：v1.0
 * @date:    2024/6/28 22:46
 */
public interface RolePermissionService extends IService<SysRolePermissionRelation> {


    /**
     * 获取角色已绑定权限ID集合
     * @param roleId 角色ID
     * @return 已绑定权限ID集合 （如果为指定超级角色,则返回为null）
     */
    List<Long> getPermissionsByRole(Long roleId) throws BaseException;

    /**
     * 分配权限
     * @param roleId 角色ID
     * @param permissionIds 权限ID集
     * @throws BaseException 分配异常
     */
    boolean assignPermission(Long roleId, List<Long> permissionIds) throws BaseException;
}
